package com.wing.bill.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Mapper
public interface RepairAndScarpInReportDao {

    List<HashMap> list(@Param("businessType")Integer businessType,@Param("param")String param,@Param("enterpriseCode")String enterpriseCode);

    HashMap queryInNum(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryInNumClick(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryInCreatorNum(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryInCreatorNumClick(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryInDeviceNum(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryInDeviceNumClick(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryNumByStatus(@Param("businessType")Integer businessType,@Param("status")Integer status,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryNumByStatusClick(@Param("businessType")Integer businessType,@Param("status")Integer status,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryCheckNum(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryCheckNumClick(@Param("businessType")Integer businessType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    List<HashMap> queryStatisticsByParam(@Param("businessType")Integer businessType, @Param("selectParam")String selectParam, @Param("param")String param,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    List<HashMap> queryReason(@Param("businessType")Integer businessType, @Param("screenParam")Map<String, Object> screenParam, @Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    Integer getTotal(@Param("businessType")Integer businessType,@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("param")String param, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

}
